package com.hksj.wmp.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hksj.base.query.BaseSpecialityQuery;
import com.hksj.wmp.query.BaseAlarmQuery;
import com.hksj.wmp.vo.CurrentAlarmDeviceVO;
import com.hksj.wmp.vo.CurrentParseInfoVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author zengke
 * @version 1.0
 * @see WeChatAlarmMapper
 * @since 2024/10/15 10:27
 */
@Mapper
@SuppressWarnings(value = {"all"})
public interface WeChatAlarmMapper {

    List<Map<String, String>> queryAlarmDeviceDistribution(@Param("query") BaseAlarmQuery query);

    String queryAlarmFrequencySituation(@Param("query") BaseSpecialityQuery query,@Param("type") Integer type);

    /**
     * 分页查询当前的报警设备列表
     * @param page 分页对象
     * @param query 查询条件
     * @return 分页后的报警设备列表
     */
    List<CurrentAlarmDeviceVO> queryCurrentAlarmDeviceListByPaging(IPage<CurrentAlarmDeviceVO> page, @Param("query") BaseSpecialityQuery query);

    /**
     * 查询当前物模型解析数据列表
     * @param deviceIdList 设备id集合
     * @return 当前物模型解析数据列表
     */
    List<CurrentParseInfoVO> queryCurrentParseInfoList(@Param("deviceIdList") List<String> deviceIdList);

    /**
     * 查询报警次数详情
     * @param query 查询对象
     * @return 报警的次数列表
     */
    List<Map<String, String>> queryAlarmFrequencyDetail(@Param("query") BaseAlarmQuery query);
}
